Transmission and reception parameter control

ABSTRACT

A system and method for implementing transmission parameter control at a transmitting station is described. The exemplary system and method comprises querying a transmission parameter control module for a transmission schedule. The transmission schedule comprises at least one schedule entry defining a set of transmission parameter controls as they pertain to a destination address. At least one packet of data is then transmitted to the destination address according to the transmission parameters controls of at least one schedule entry from the transmission schedule. A system and method for selecting an antenna configuration corresponding to a next transmission of packet data is also disclosed.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation-in-part and claims thepriority benefit of U.S. patent application No. 11/180,329 filed Jul.12, 2005 and entitled “System and Method for Transmission ParameterControl for an Antenna Apparatus with Selectable Elements,” which claimsthe priority benefit of U.S. provisional patent application No.60/602,711 filed Aug. 18, 2004 and entitled “Planar Antenna Apparatusfor Isotropic Coverage and QoS Optimization in Wireless Networks,” U.S.provisional patent application No. 60/603,157 filed Aug. 18, 2004 andentitled “Software for Controlling a Planar Antenna Apparatus forIsotropic Coverage and QoS Optimization in Wireless Networks,” and U.S.provisional patent application number 60/625,331 filed Nov. 5, 2004 andentitled “Systems and Methods for Improved Data Throughput in WirelessLocal Area Networks”; the present application also claims the prioritybenefit of U.S. provisional patent application No. 60/693,698 filed Jun.23, 2005 and entitled “Control of Wireless Network TransmissionParameters.” The disclosures of all of the aforementioned applicationare incorporated herein by reference.

The present application is related to U.S. patent application number11/010,076 filed Dec. 9, 2004 and entitled “System and Method for anOmni-Directional Planar Antenna Apparatus with Selectable Elements,”U.S. patent application No. 11/022,080 filed Dec. 23, 2004 and entitled“Circuit Board Having a Peripheral Antenna Apparatus with SelectableAntenna Elements,” U.S. patent application No. 11/041,145 filed Jan. 21,2005 and entitled “System and Method for a Minimized Antenna Apparatuswith Selectable Elements,” and U.S. provisional patent application No.60/630,499 filed Nov. 22, 2004 and entitled “Method and Apparatus forProviding 360 Degree Coverage via Multiple Antenna Elements Co-Locatedwith Electronic Circuitry on a Printed Circuit Board Assembly.” Thedisclosures of the aforementioned applications are incorporated hereinby reference.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention generally relates to wireless communicationnetworks and more particularly to a system and method for wirelessnetwork transmission parameter control providing for increasedpacket-reception.

2. Description of the Related Art

In communications systems, there is an ever-increasing demand for higherdata throughput and a corresponding drive to reduce interference thatcan disrupt data communications. For example, in an IEEE 802.11 network,an access point (e.g., a base station) communicates data with one ormore remote receiving nodes over a wireless link. The wireless link maybe susceptible to, for example, interference from other access points,other radio transmitting devices, or disturbances in the environment ofthe wireless link between the access point and the remote receivingnode. The interference may be to such a degree as to degrade thewireless link, for example, by forcing communication at a lower datarate. The interference also may be sufficiently strong enough tocompletely disrupt the wireless link.

One method for reducing interference in the wireless link between theaccess point and the remote receiving node is to provide severalomni-directional antennas for the access point in a “diversity” scheme.For example, a common configuration for the access point comprises adata source coupled via a switching network to two or more physicallyseparated omni-directional antennas. The access point may select one ofthe omni-directional antennas by which to maintain the wireless link.Because of the separation between the omni-directional antennas, eachantenna experiences a different signal environment and each antennacontributes a different interference level to the wireless link. Theswitching network couples the data source to whichever of theomni-directional antennas experiences the least interference in thewireless link.

Current methods that provide switching among antenna configurations,such as diversity antennas, and previous methods of controlling antennasegments are unable to effectively minimize the interference from otheraccess points, other radio transmitting devices, or disturbances in theenvironment of the wireless link between the access point and the remotereceiving node. Typically, methods for antenna configuration selectionare of the trial-and-error approach. In a trial-and-error approach, atransmission is made on each antenna configuration to determine whichantenna configuration provides a more effective wireless link (e.g., asmay be measured by a packet error ratio). The trial-and-error approachis inefficient as it generally requires transmission on a “bad” antennaconfiguration to determine the poor quality of that antennaconfiguration. Further, the trial-and-error approach becomesincreasingly inefficient with a large number of antenna configurations.

Additionally, current methods may require measurements of parameterssuch as voltage standing wave ratio, signal quality, or bit error ratefor each antenna configuration. Such measurements can take a significantamount of time to compute, and may require large numbers of data packetsto be transmitted before the measurements can be performed.

SUMMARY OF THE INVENTION

In one exemplary embodiment of the present invention, a method forimplementing transmission parameter control at a transmitting station isdescribed. The exemplary method comprises querying a transmissionparameter control module for a transmission schedule. The transmissionschedule comprises at least one schedule entry defining a set oftransmission parameter controls as they pertain to a destinationaddress. At least one packet of data is then transmitted to thedestination address according to the transmission parameter controls ofat least one schedule entry from the transmission schedule.

In another embodiment of the aforementioned method, an acknowledgment ofreceipt of the data by a receiving station is issued and thetransmission schedule may be updated based on certain feedback data. Inthe event that an acknowledgement is not received, the transmissionschedule may be referenced to determine whether an unused entry existsthat may be utilized for re-transmitting the data. If thatre-transmission is successful, feedback data may again be utilized toupdate the transmission schedule. Should there not be an unused entry orthe re-transmission fails, feedback with regard to the failedtransmission may be incorporated into the evolution and development ofthe transmission schedule and particular entries therein.

An exemplary machine-readable medium for executing a similartransmission parameter control methodology is disclosed.

An exemplary system for transmission parameter control in a wirelessnetwork is also disclosed. A process executes at least one programcomprising instructions for executing a transmission schedule, thetransmission schedule comprising at least one schedule entry defining aset of transmission parameter controls as they pertain to a destinationaddress. An antenna apparatus, in accordance with the transmissionschedule, then transmits one or more data packets to a destinationaddress utilized a particular antenna configuration and physical datarate.

Another exemplary system is disclosed by the present invention, thatsystem configured to select an antenna configuration corresponding to anext transmission of packet data. In the exemplary system, a masterscheduling module causes an antenna apparatus to adopt a particularradiation configuration in anticipation of the receipt of data from atransmitting station, the configuration corresponding to optimizing thereceipt of data from that station. The configuration may be implementedin response to, for example, an algorithm executed by a packet patternrecognition module, a CRC module, a scheduled MAC module, a temporalprediction module, a last transmission module, and/or combinations ofthe same. Various methods as they pertain to adopting a particularconfiguration with respect to the aforementioned system modules are alsodisclosed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system comprising an antenna apparatus withselectable elements in accordance with one exemplary embodiment of thepresent invention;

FIG. 2 illustrates various radiation patterns resulting from selectingdifferent antenna configurations of the antenna apparatus of FIG. 1 inaccordance with one exemplary embodiment of the present invention;

FIG. 3 illustrates an exemplary block diagram of the system of FIG. 1,in accordance with one exemplary embodiment of the present invention;

FIG. 4 illustrates a block diagram of an exemplary software layer,device driver, and a hardware layer of the system and for implementingtransmission parameter control, in accordance with one exemplaryembodiment of the present invention;

FIG. 5 illustrates an exemplary method for transmission packet flow in asystem like that disclosed in FIG. 4;

FIG. 6 illustrates an exemplary transmission schedule comprisingtransmission attempt, physical later data rate, antenna configuration,and transmit power information;

FIG. 7 illustrates an exemplary transmission schedule like thatdisclosed in FIG. 6 and further comprising yield on failure information;

FIG. 8 illustrates a block diagram of an exemplary software layer,device driver, and a hardware layer of the system and for implementingreception parameter control, in accordance with one exemplary embodimentof the present invention.

DETAILED DESCRIPTION

A system for a wireless (e.g., radio frequency or RF) link to a remotereceiving device in accordance with an embodiment of the presentinvention generally includes a communication device for generating an RFsignal, an antenna apparatus with selectable antenna elements fortransmitting and/or receiving the RF signal, and a processor forcontrolling the communication device and the antenna apparatus. Thecommunication device (or a device communicatively coupled thereto)converts data packets into RF at one of a plurality of selectablephysical data rates. Each antenna element of the antenna apparatus mayprovide gain (with respect to an isotropic antenna) and a directionalradiation pattern and may be electrically selected (e.g., switched on oroff) so that the antenna apparatus may form a configurable (i.e.,direction agile) radiation pattern. The processor may select the antennaconfiguration so that interference may be minimized in the wireless linkto the remote receiving node. The processor may also select the physicaldata rate to maximize data transmission speed.

For example, due to interference from other radio transmitting devices,or disturbances in the wireless link between the system and the remotereceiving device, the processor may select an antenna configuration witha resulting radiation pattern that minimizes the interference. Theprocessor may also select an antenna configuration corresponding to amaximum gain between the system and the remote receiving device.Alternatively, the processor may select an antenna configurationcorresponding to less than maximal gain but corresponding to reducedinterference in the wireless link. Similarly, the processor may select aphysical data rate that maximizes data transmission speed (i.e.,effective user data rate) over the wireless link to the remote receivingdevice.

FIG. 1 illustrates a system 100 comprising an antenna apparatus withselectable elements in accordance with one exemplary embodiment of thepresent invention. The system 100 may comprise, for example, atransmitter and/or a receiver, and be embodied as an 802.11 accesspoint, an 802.11 receiver, a set-top box, a laptop computer, atelevision, a PCMCIA card, a remote control, or a remote terminal suchas a handheld gaming device. In some exemplary embodiments, the system100 may comprise an access point for communicating with one or moreremote receiving nodes over a wireless link, for example, in an 802.11wireless network. Typically, the system 100 may receive data from arouter connected to a wide-area network such as the Internet (not shown)or any variety of local area networks (also not shown). The system 100may transmit the data to one or more remote receiving nodes (e.g.,receiving nodes 130A-130C). The system 100 may also form a part of awireless local area network (LAN) by enabling communications among twoor more of the remote receiving nodes 130A-130C.

Although the present disclosure focuses on particular embodiments forthe system 100, aspects of the invention are equally applicable to awide variety of appliances and are not intended to be limited to anydisclosed embodiment. For example, although the system 100 will bedescribed as the access point for an 802.11 wireless network, the system100 may also comprise the remote receiving node 130A. Further, thesystem 100 may also be implemented with regard to other wireless networkstandards (e.g., IEEE 802.x).

System 100 may include a communication device 120 (e.g., a transceiver)and an antenna apparatus 110. The communication device 120 may comprisevirtually any device for converting data at a physical data rate and forgenerating and/or receiving a corresponding RF signal. The communicationdevice 120 may include, for example, a radio modulator/demodulator forconverting data received by the system 100 (e.g., from a router) intothe RF signal for transmission to one or more of the remote receivingnodes 130A-130C. In some embodiments of the present invention, thecommunication device 120 also comprises circuitry for receiving datapackets of video from the router and circuitry for converting the datapackets into 802.11 compliant RF signals. Various other hardware and/orsoftware devices and/or elements may be integrated with communicationdevice 120 (e.g., physical integration or a communicative coupling) asto allow for the processing and/or conversion of various other dataformats into 802.11 compliant RF signals.

The antenna apparatus 110 may include a plurality of individuallyselectable antenna elements (not shown). When selected, each of theindividual antenna elements produces a directional radiation patternwith gain (as compared to an omni-directional antenna). The antennaapparatus 110 may further include an antenna element selector device 310(FIG. 3) to selectively couple one or more of the antenna elements tothe communication device 120. Various embodiments of an antennaapparatus 110 and the antenna element selector device 310 are disclosedin U.S. patent application No. 11/010,076; 11/022,080; and 11/041,145for a “System and Method for an Omni-directional Planar AntennaApparatus with Selectable Elements,” “Circuit Board Having a PeripheralAntenna Apparatus with Selectable Antenna Elements,” and “System andMethod for a Minimized Antenna Apparatus with Selectable Elements.” Thedisclosure of each of these applications and the antenna apparatustherein have previously been incorporated into the present applicationby reference.

FIG. 2 illustrates various radiation patterns resulting from selectingdifferent antenna configurations of the antenna apparatus 110 of FIG. 1in accordance with one exemplary embodiment of the present invention.The antenna apparatus 110 used to produce the exemplary radiationpattern of FIG. 2 comprises four selectable antenna elements {A |B |C|D}. The antenna elements (referred to as antenna elements A-D) of thepresent example are offset from one other by 90 degrees. Each antennaelement of the present example produces a similar radiation patternoffset from the other radiation patterns (e.g., the radiation pattern ofthe antenna element A is offset by approximately 90 degrees from theradiation pattern of the antenna element B and so on). For clarity ofexplanation, only three exemplary radiation patterns are shown in FIG.2.

A first radiation pattern 215 is produced by selecting the antennaelement A. The radiation pattern is a generally cardioid patternoriented with a center at about 315 degrees in azimuth. A secondradiation pattern 205, depicted as a dotted line, is produced byselecting the antenna element B. Antenna element B is offset 90 degreesfrom antenna element A; the radiation pattern 205 is therefore orientedwith a center at about 45 degrees in azimuth. A combined radiationpattern 210, depicted as a bold line, results from the selection ofantenna element A and antenna element B. It will be appreciated that byselecting one or more of the antenna elements A-D in FIG. 2, fifteenradiation patterns can be produced by the antenna apparatus 110.

A substantially omni-directional radiation pattern that may be producedby selecting two or more of the antenna elements A-D is not shown inFIG. 2 (for the sake of clarity). Notwithstanding, it will beappreciated that the antenna apparatus 110 may produce a range ofradiation patterns, ranging from highly directional to omni-directional.Accordingly, these resulting radiation patterns are also referred asantenna configurations.

FIG. 3 illustrates an exemplary block diagram of the system 100, inaccordance with one exemplary embodiment of the present invention. Thesystem 100 may include a processor 320 coupled to a memory 330. In someembodiments of the present invention, the processor 320 may comprise amicrocontroller, a microprocessor, or an application-specific integratedcircuit (ASIC). The processor 320 may be configured to execute programsstored in the memory 330. The memory 330 may also store transmissionschedules, which may specify transmit instructions including physicallayer transmission rates for the communication device 120 and antennaconfigurations for the antenna apparatus 110. The transmissions schedulemay also include additional information such as transmit power. Thetransmission schedule—examples of which are illustrated in FIGS. 6 and7—may be embodied as a program for execution by low-level hardware orfirmware. The transmission schedule may also be embodied as a set oftransmission metrics that allow for ‘tuning’ of transmission andretransmission processes in a more efficient manner.

The processor 320 may be further coupled to the antenna element selectordevice 310 by a control bus 340. The antenna element selector device 310may be coupled to the aforementioned antenna apparatus 110 to allow, forexample, selection from among the multiple radiation patterns describedin FIG. 2. The processor 320 controls the antenna element selectordevice 310 to select an antenna configuration (i.e., one of the multipleradiation patterns) of the antenna apparatus 110. The antenna selectordevice 310 may accept and respond to information (instructions) relatedto a transmission schedule with regard to the selection of a particularantenna configuration (e.g., one of the aforementioned radiationpatterns referenced in the context of FIG. 2).

The processor 320 is further coupled to the communication device 120 bythe control bus 340. The processor 320 controls the communication device120 to select a physical data rate (i.e., one of the multiple physicaldata rates). The processor 320 controls the physical data rate at whichthe communication device 120 converts data bits into RF signals fortransmission via the antenna apparatus 110. The selection of a physicaldata rate may be associated with a particular antenna configuration,and/or other transmission parameters (e.g., transmit power) in thecontext of a transmission schedule like those referenced in FIG. 6 and7.

In some embodiments, the processor 320 may receive packet data,Transmission Control Protocol (TCP) packet data, or User DatagramProtocol (UDP) packet data from an external local area network (LAN)350. The processor 320 may convert the TCP or UDP packet data into an802.11 wireless protocol. The processor 320 may select an antennaconfiguration of the antenna apparatus 110 and sends the 802.11 wirelessprotocol to the communication device 120 for conversion at the physicaldata rate into RF for transmission via the antenna apparatus 110 to theremote receiving node (e.g., the remote receiving node 130A) over thewireless link (e.g., the wireless link 140A) in accordance withtransmission parameters set forth in a particular transmission schedule.

An exemplary method executed by the processor 320 for selecting theantenna configuration may comprise creating and/or accessing a tablehaving transmission parameter control data for each remote receivingnode 130. The table may include link quality metrics for each antennaconfiguration. Some examples of link quality metrics are a successratio, an effective user data rate, a received signal strength indicator(RSSI), and error vector magnitude (EVM) as are discussed in the contextof U.S. patent application No. 11/180,329 and previously incorporatedherein by reference.

An additional exemplary method executed by processor 320 may comprisequerying transmission parameter control software for transmissionparameters for a packet based on the packet destination address. Thetransmission parameter control software may specify transmitinstructions including physical layer transmission rates and antennaconfigurations—in the context of a transmission schedule. The processor320 may further modify or update a transmission schedule based on, forexample, transmission attempt results as they pertain to a particulartransmission schedule.

FIG. 4 illustrates a block diagram of an exemplary software layer 405, adevice driver 450, and a hardware layer 455, in accordance with oneexemplary embodiment of the present invention. The software layer 405and the device driver 450 may comprise instructions executed by theprocessor 320 (in FIG. 3). The hardware layer 455 may comprise hardwareelements of the system 100 described with respect to FIG. 3, such as theantenna selector device 310 and the communication device 120. Althoughdescribed as software and hardware elements, aspects of the inventionmay be implemented with any combination of software, hardware, and/orfirmware elements.

The software layer 405 may include a transmission parameter controlmodule 410 and a feedback module 420. The feedback module 420 mayinclude a database 425. The hardware layer 455 may include transmitter460 and receiver 465.

The transmission parameter control module 410 may be linked to thefeedback module 420. The transmission parameter control module 410 maycommunicate with the device driver 450 via link 430. The feedback modulemay communicate with the device driver 450 via link 435. The devicedriver 450 may receive packets via link 440 from the software layer 405and sends the packets to the transmitter 460 in the hardware layer 455.The device driver 450 may also receive packets from the receiver 465 inthe hardware layer 455 and sends the packets to the software layer 405via link 445.

The transmission parameter control module 410 may comprise softwareelements configured to select for the device driver 450 the currentantenna configuration and the current physical data rate based on thefeedback module 420. In some embodiments of the present invention, thetransmission parameter control module 410 may further comprise certainfunctionality as may be found in a transmission control selector likethat disclosed in U.S. patent application No. 11/180,329 and previouslyincorporated herein by reference. Such a selector (and associatedfunctionality) may be related to a probe scheduler. A probe schedulermay comprise software elements configured to determine for atransmission control selector an unused antenna configuration and anunused physical data rate based on predetermined criteria. One exampleof the predetermined criteria is determining an unused antennaconfiguration after the device driver 450 indicates as received 5consecutive packets. The feedback module 420 of the present disclosuremay comprise software elements configured to update link quality metricsfor each antenna configuration and each physical data rate based onfeedback from the device driver 450.

The transmission parameter control module 470 further providestransmission parameters for a packet based on the packet destinationaddress. The transmission parameter control module 470 provides atransmission schedule, which may be stored in database 425 of feedbackmodule 420 or in a database dedicated to the control module 410 (notshown). The transmission schedule specifies transmit instructionsincluding physical layer transmission rates and antenna configurations.The transmission schedule is delivered to the device driver 450 inresponse to, for example, a driver query upon receipt of a unicastpacket from an upper network layer by the driver 450. The driver 450, inturn, provides the data packet and transmission schedule to the hardwarelayer 455 for transmission.

The hardware layer 455 may notify the driver 450 of the result of thetransmission attempt, which is in turn reported to the transmissionparameter control module 410, the feedback module 420, or both modulesfor the purpose of updating the database 425, which may update atransmission schedule if deemed necessary. Certain functionality of thefeedback module 420 may, in some embodiments, be integrated with thetransmission parameter control module 410 with regard to updating adatabase 425 of transmission schedules. In such an embodiment, thefeedback module 420 may be configured to maintain a separate dedicateddatabase of transmission schedules in addition to being configured tomaintain the link quality metrics in the database 425. The operation ofthe software layer 405, the device driver 450, and the hardware layer455 are further described below.

An advantage of the system 100 is that the transmission parametercontrol module 410 may select a transmission schedule comprising, forexample, an antenna configuration for the antenna apparatus 110 thatminimizes interference for communicating over the wireless link 140A tothe remote receiving node 130A based on feedback (i.e., direct orindirect) from the receiving node, which may be reflected by anacknowledgment resulting from the transmission. The device driver 450may indicate whether the remote receiving node received transmittedpackets on a particular antenna configuration and physical data rate.Further, the transmission parameter control module 410 may selectanother antenna configuration for communicating over the wireless link140B to the remote receiving node 130B based on the lack of anacknowledgment and in accordance with a subsequent transmission schedulethereby changing the radiation pattern of the antenna apparatus 110 tominimize interference in the wireless link 140A and/or the wireless link140B and/or to compensate for particular physical layer data rates.

The transmission parameter control module 410 may select the appropriatetransmission schedule with an associated antenna configurationcorresponding to a maximum gain for the wireless links 140A-140C.Alternatively, the transmission parameter control module 410 may selecta transmission schedule wherein the antenna configuration corresponds toless than maximal gain but instead corresponds to reduced interference,in the wireless links 140A-140C. A further advantage is thattransmission parameter control selection module 410 may select anaccompanying physical data rate that provides the maximum effective userdata rate at the remote receiving node 130A over the wireless link 140A.

The transmission schedule provided to the hardware layer 455 via devicedriver 450 may be provided as part of a transmit descriptor allowinggranulated control over transmission and retransmission processes in anefficient manner. In some embodiments, the granulated control oftransmission parameter control module 410 may be integrated with thefunctionality of a transmission control selector or alternativelyoperate in conjunction with the same.

FIG. 5 illustrates an exemplary method for transmission packet flow 500in a system like that disclosed in FIG. 4 (400). In step 510, directedunicast packets are sent to device driver 450 from upper network layersfor transmission. In step 520, the driver 450 queries the transmissionparameter control module 410 for transmission parameters for the packetbased on a packet destination address. The transmission parameterselection module 410 provides a transmission schedule (like thosedisclosed in FIGS. 6 and 7 below) in step 530. The transmission schedulespecifies transmit instructions, including physical layer transmissionrates and antenna configurations.

In step 540, the driver 450 provides the data packet and transmissionschedule to the wireless network interface, which (in exemplaryembodiments) may be embodied in the hardware layer 455. In step 550, thewireless network interface of the hardware layer 455 (for every N-thtransmission attempt) transmits the packet using parameters from theN-th entry of the transmission schedule as illustrated in FIG. 6 and 7.If the network interface of the hardware layer 455, in step 560, failsto receive an 802.11 layer acknowledgment, a determination is made as towhether the transmission schedule has been exhausted in step 590 (i.e.,the transmission attempt schedule has entries that have not yet beenutilized). If the acknowledgment is not received, in step 560, and it isdetermined that the transmission schedule has not been exhausted in step590, the network interface of the hardware layer 455 will attempt tore-transmit the packet using parameters from a new entry of thetransmission schedule (e.g., N+1) in a manner similar to the originaltransmission of step 550. The network interface of the hardware layer455 will continue this cycle (steps 550, 560, 590, and returning to 550if appropriate) of utilizing a new entry of the transmission scheduleuntil an 802.11 layer acknowledgement is received in step 560 or untilthe schedule is exhausted (i.e., no unused scheduling entries remain) instep 590.

If an 802.11 layer acknowledgment is received in step 560, the presentexemplary method proceeds to step 570 wherein the network interface ofthe hardware layer 455 informs the driver 450 of the results of thetransmission attempt. The driver 450, in turn, notifies the transmissionparameter control module 410 of the aforementioned transmission resultsin step 580. If an 802.11 layer acknowledgement is not received in step560 and the schedule is exhausted (i.e., no unused scheduling entriesremain) as determined in step 590, the driver 450 is informed of theresults in step 570, which are, in turn, reported to the controlmodule920 in step 580.

FIG. 6 illustrates an exemplary transmission schedule 600 comprisingtransmission attempt 610, physical later data rate 620, antennaconfiguration 630 and transmit power information 640. In an exemplaryembodiment of the present invention, transmission schedule 600 may bestored in database 425 (FIG. 4) for each packet destination address.Each destination address may require different antenna configurationsand/or physical data rates for optimal performance of each of thewireless links (140A-C), therefore multiple transmission schedules 600may be developed and maintained. For ease of the present discussion,only a single transmission schedule 600 will be discussed.

The feedback module 420 (in FIG. 4) may update the transmission schedule600 with respect to, for example, antenna configuration or physicallayer data rate (columns 620 and 630) after the device driver 450 (inFIG. 4) indicates a packet as having been transmitted to a packetdestination address in light of receipt of an 802.11 layeracknowledgment. The feedback module 420 may correlate a successfultransmission rate (e.g., a success ratio) with respect to a particularphysical data rate and antenna configuration on a particulartransmission attempt for a particular packet destination address. Otherlink quality metrics may be associated with the transmission schedule600 and an associated set of transmission parameters for a packet basedon packet destination address such as receive signal strength indication(RSSI), voltage standing wave ratio (VSWR), signal quality, bit errorrate, and error vector magnitude (EVM). Various methods of measuring theaforementioned metrics are discussed in U.S. patent application No.11/180,329 and previously incorporated herein by reference.

Antenna configuration 630 corresponds to the multiple antennaconfigurations of the antenna apparatus 110. For example, a table oftransmission control data for an antenna apparatus 110 having fourselectable antenna elements {A, B, C, D}, would have fifteen possibleantenna configurations comprising the set{A|B|C|D|AB|AC|AD|BC|BD|CD|ABC|ABD|ACD|BCD|ABCD}. Indicia of aparticular configuration may be associated with each one of theaforementioned configurations.

In one exemplary embodiment of the present invention, the schedule 600may need only to comprise information related to transmission attempt610, data rate 620, and antenna configuration 630. Certain otherinformation, such as transmit power 640 (e.g., the power ratio indecibels (dB) of the measured power referenced to one milliwatt (mW)),may be optional. In that regard, other elements of information may beembodied in the transmission schedule 600 while remaining in generalaccord with the scope of the present invention.

The transmission schedule 600 is a program for execution by the hardwareor firmware disclosed in FIG. 4. The schedule 600 may be provided to thenetwork interface of the hardware or firmware 455 for execution in step540 as part of a transmit descriptor, which allows for the driver 450 toexercise fine grained control over the transmission and retransmissionprocess in an efficient manner.

In some embodiments of the present invention, it may be desirous for thetransmission schedule 700 (FIG. 7) to further comprise yield on failureinformation 750 in addition to the aforementioned transmission attempt710, physical layer data rate 720, antenna configuration 730, andtransmit power 740 information. For example, if multiple packets arequeued to different destinations and a particular destination istemporarily impaired, it may be advantageous to ‘pause’ the packettransmission to the impaired station, transmit the queued packets toanother station, and then resume transmission to the impaired station.

The control offered by the presently disclosed system and associatedtransmission schedules offers functionality that may be referenced as a‘smart antenna.’ Through the aforementioned transmission schedules asthey related to a particular packet destination, it becomes possible toprecisely control the antenna configuration and related transmissionminutia during packet transmission such that an antenna array may‘point’ in the direction of the receiving station. Further, thepresently disclosed ‘smart antenna’ may further allow for the selectionof a subsequent antenna configuration corresponding to a nexttransmission of packet data being received from a particular station. Inthis way, under certain conditions (such as when a transmission link isidle), the difficulties associated with passively listening for anincoming transmission and associated configurations are diminished.

Network protocols, as a whole, tend to be regular. As such, and throughthe use of one or more heuristic algorithms, it becomes possible toaccurately predict the identity and/or location of a next transmittingstation. The predictive results of the algorithms may themselves beembodied in a variety of schedules with respect to anticipated datapacket reception.

An exemplary prediction algorithm may be based on a last transmission,which may be of particular use in—but is not limited to—arequest/response data exchange or in those networks that have strongtemporal locality. In such an embodiment, the receive antennaconfiguration is set based on the station to which thesoftware-controlled smart antenna last transmitted. In such anembodiment, the receive antenna configuration ‘follows’ the transmitantenna configuration. Accordingly, the antenna configuration that wasused to transmit data to a particular destination address may be thesame configuration used to receive data from that address.Alternatively, it may be determined that data received from a particulardestination address is ideally received in a particular configuration.Accordingly, if data is transmitted to a particular destination address,the antenna will automatically be reconfigured for an optimizedconfiguration associated with receipt of data from that particularaddress following the initial data transmission.

Another exemplary prediction algorithm may be based on packet patternrecognition. Many protocols, such as transmission control protocol(TCP), generate a regular sequence of packets. In TCP, for example, twodata packets are often followed by a TCP-level acknowledgment (ACK)packet in the reverse direction. A packet pattern recognition algorithmmay be implemented such that, for each active flow, the number oftransmitted packets that occur between received packets are counted. The‘smart antenna’ then determines when an individual flow is expected forpacket reception. The receive antenna may then be configured such thatit corresponds to a station who's flow is ‘due.’

A third exemplary prediction algorithm may be based on an indication ofa cyclic redundancy check (CRC) with respect to a serial transmission ofdata. In a cyclic redundancy check, a CRC for a block of data iscalculated before the data is sent; the CRC on that block of data issent along with the primary data transmission. Once the data isreceived, a new CRC is calculated on the received data. If thepre-transmission CRC transmitted along with the primary block of datadoes not match the CRC performed after receipt of that data, then anerror has occurred. For example, after a failed packet reception by thepresently disclosed antenna, the hardware layer will notify the softwareof a CRC event.

In many instances, the packet data that was received is of sufficientquality that the source Media Access Control (MAC) (i.e., the unique48-bit number used in Ethernet data packets to identify an Ethernetdevice, such as the base station) may be determined. The software of thepresently disclosed antenna may then ‘look up’ the ‘best’ antennaconfiguration associated with the source MAC address and set the receiveantenna configuration such that when the failed packet is retransmittedby the source, the packet will be received on the best antennaconfiguration for the station thereby possibly even alleviating theanomaly that resulted in the failed packet transmission in the firstplace.

A fourth exemplary prediction algorithm may be based on temporalprediction as a number of data flows, such as voice and video, aretemporarally periodic. By tracking packet inter arrival-times on aper-flow basis, the presently described antenna system may predict whenin time a particular data flow will become active. A master schedule maythen be compiled reflecting to activation times for particular activeflows as they originate from a particular station. In such anembodiment, and in accordance with the master schedule, the receiveantenna may be preemptively configured in advance of a particular flowfrom a particular locale at a particular time.

A fifth exemplary prediction algorithm may be based upon scheduled MAC.The 802.11 and 802.11e standards, the latter of which enhances the IEEE802.11 MAC layer, specify optional modes of operation wherein thepresently described ‘smart antenna’ may provide scheduling functionalitynormally associated with Time-Division Multiplexing (TDM), such asHybrid Coordination Function Controlled Channel Access (HCCA).

HCCA is similar in operation to Point Coordination Function, whereinaccess points or Wi-Fi adapters send beacon frames at a regularinterval; in between these beacons a Distributed Coordination Function(DCF) or Contention Free-Poll (CF-Poll) packet function is implementedto control access to the transmission medium and/or to manage variousQOS concerns. HCCA also utilizes the interval between beacon frames tocontrol access to the medium and/or to operate in Enhanced DCF ChannelAccess wherein high priority traffic has a higher chance of being sentthan low priority traffic. Unlike PCF, however, HCCA defines trafficclasses such that traffic can be coordinated versus, for example,round-robin. The implementation of traffic classes also allows forstation priority and transmit opportunity (TXOP) such that a particularaccess point my send as many frames as possible in a particular windowof time.

Through the scheduled access functionality offered by HCCA and as may beimplemented in the present ‘smart antenna,’ it may be determined whichstation will be transmitting at which time. As such, the antenna may bepreemptively configured such that its configuration is the optimalconfiguration depending on a particular station scheduled to commence atransmission.

Any of the aforementioned algorithms may be individually implemented forscheduling purposes. Alternatively, the various scheduling algorithmsmay be implemented to operate in parallel in various combinations. FIG.8 illustrates a block diagram of an exemplary software layer 805, devicedriver 870, and hardware layer 875 of the system and for implementingreception parameter control, in accordance with one exemplary embodimentof the present invention.

Software layer 805 and device driver 870 may comprise instructionsexecuted by the processor 320 (in FIG. 3). The hardware layer 875 maycomprise hardware elements of the system 100 described with respect toFIG. 3, such as the antenna selector device 310, which is also depictedhere as antenna element selector device 880, which is in turn coupled toantenna apparatus 885. Although described as software and hardwareelements, aspects of the invention may be implemented with anycombination of software, hardware, and/or firmware elements.

Master scheduling module 810 may comprise one or more subsidiarymodules, which in turn may execute specific antenna selection algorithmsor be executed in conjunction with another antenna selection module todetermine a best algorithm. In FIG. 8, the exemplary master schedulingmodule 810 comprises a packet pattern recognition module 815, a CRCmodule 820, a scheduled MAC module 825, a temporal prediction module830, and a last transmission module 835. The particular algorithmexecuted by each of these subsidiary modules has been discussed above ingreater detail.

Master scheduling module 810 may comprise each of these modules, aselection of these modules, or additional modules not necessarilydiscussed here. After a particular antenna configuration has beenidentified by an antenna selection module, the master scheduling module820 communicates this selection to the device driver 870, via link 850,which in turn causes the selector device 880 to implement a particularantenna configuration in a receiver of antenna apparatus 885. Forexample, processor 320 may cause the selector device 880 to select aparticular configuration of antenna apparatus 110 in response toselection instructions received from scheduling module 810.

The particular selection of an antenna configuration may be recorded indatabase 845 of feedback module 840, which is coupled to the masterscheduling module 810. Following the receipt of packet data utilizingthe particular antenna configuration, feedback as to the quality of thepacket reception may also be provided to the feedback module 840 viadevice driver 870 and hardware layer 875 through link 855. This feedbackdata, too, may be stored in database 845 and associated with theselection of that particular configuration as it pertains to certainnetwork conditions, data conditions, and the like considered by themaster scheduling module 810 and the responsible subsidiary module withregard to determining a particular antenna configuration to be used inthe receipt of packet data.

Observations may be made over the course of several data receptions asthey pertain to particular antenna configurations and transmittingstations and the feedback generated by the same. The feedback modulemay, over the course time, determine that particular modules may be moreaccurate with regard to the selection of a particular antennaconfiguration and, when a data transmission from a particular station isinvolved, cause the master scheduling module 810 to rely on a particularantenna configuration as determined by a particular module in order tomore optimally select particular configurations.

The feedback module may periodically causes the master scheduling module810 to select a configuration identified by a non-regular module (e.g.,CRC versus temporal) in order to obtain a more relevant sample offeedback data as it pertains to particular stations, particularconfigurations, and particular modules electing the particularconfiguration. Such test sampling may occur as part of a regular datareception or may be the result of the module causing the transmissionand subsequent reception of reply data during idle time whereby aregularly scheduled or in-progress transmission is not interrupted orpossibly subjected to a less than ideal antenna configuration.

The invention has been described herein in terms of several exemplaryembodiments. Other embodiments of the invention, including alternatives,modifications, permutations and equivalents of the embodiments describedherein, will be apparent to those skilled in the art from considerationof the specification, study of the drawings, and practice of theinvention. The embodiments and features described above should beconsidered exemplary, with the invention being defined only by theappended claims, which therefore include all such alternatives,modifications, permutations and equivalents as fall within the truespirit and scope of the present invention.

1. A method for implementing transmission parameter control at atransmitting station, comprising: querying a transmission parametercontrol module for a transmission schedule, the transmission schedulecomprising at least one schedule entry defining a set of transmissionparameter controls as they pertain to a destination address; andtransmitting at least one packet of data to the destination addressaccording to the transmission parameter controls of at least oneschedule entry from the transmission schedule.
 2. The method of claim 1,further comprising receiving at the transmitting station anacknowledgment of receipt of the transmitted at least one packet of datain accordance with the at least one schedule entry.
 3. The method ofclaim 2, further comprising providing feedback data related to thetransmission of the at least one packet of data in accordance with theat least one schedule entry associated with the acknowledgedtransmission.
 4. The method of claim 1, wherein if an acknowledgment ofreceipt of the transmitted at least one packet of data is not receivedby the transmitting station, determining whether the transmissionschedule comprises an unused schedule entry for the re-transmission ofthe at least one packet of data.
 5. The method of claim 4, wherein ifthe transmission schedule comprises an unused schedule entry,re-transmitting the at least one packet in accordance with thetransmission parameter controls of the unused schedule entry.
 6. Themethod of claim 4, wherein if the transmission schedule does notcomprise an unused schedule entry, providing feedback data related tothe failed transmission of the at least one packet of data with respectto the at least one schedule entry associated with the failedtransmission.
 7. The method of claim 5, further comprising receiving anacknowledgment of receipt of the re-transmitted at least one packet ofdata in accordance with the unused schedule entry.
 8. The method ofclaim 7, further comprising providing feedback data related to there-transmission of the at least one packet of data with respect to theat least one schedule entry associated with the acknowledgedre-transmission.
 9. The method of claim 3, further comprising updatingthe at least one entry of the transmission schedule according to thefeedback data.
 10. The method of claim 6, further comprising updatingthe at least one entry of the transmission schedule according to thefeedback data
 11. The method of claim 8, further comprising updating theat least one entry of the transmission schedule according to thefeedback data
 12. A system for transmission parameter control in awireless network, comprising: a processor configured to execute at leastone program comprising instructions for executing a transmissionschedule, the transmission schedule comprising at least one scheduleentry defining a set of transmission parameter controls as they pertainto a destination address; an antenna apparatus having a plurality ofantenna configurations, each antenna configuration corresponding to aradiation pattern; a communication device configured to a plurality ofphysical data rates, the communication device configured to implement atleast one of the physical data rates as defined by the transmissionparameter control; and an antenna element selector device configured toimplement at least one of the plurality of antenna configurations in theantenna apparatus as defined by the transmission parameter control, theantenna apparatus further configured to transmit one or more datapackets to the destination address in accordance with the at least oneof the physical data rates and the at least one of the plurality ofantenna configurations as defined by the transmission parameter controlsof the transmission schedule executed by the processor.
 13. A machinereadable-medium having embodied thereon a program, the programcomprising instructions for the execution of a method for implementingtransmission parameter control at a transmitting station, the methodcomprising: querying a transmission parameter control module for atransmission schedule, the transmission schedule comprising at least oneschedule entry defining a set of transmission parameter controls as theypertain to a destination address; configuring a communication toimplement at least one physical data rate as defined by the transmissionparameter controls; and configuring an antenna apparatus in a particularradiation pattern as defined by the transmission parameter controls; andtransmitting at least one packet of data to the destination addressaccording to the transmission parameters controls of at least oneschedule entry from the transmission schedule.
 14. A method forselecting an antenna configuration corresponding to a next transmissionof packet data, comprising: selecting an antenna configuration for aninitial packet data transmission, the antenna configurationcorresponding to a particular station address; transmitting packet datato the particular station address using the selected antennaconfiguration; and selecting an antenna configuration for packet datareception from the particular station address.
 15. The method of claim14, wherein the antenna configuration for packet data reception is thesame configuration for packet data transmission.
 16. The method of claim14, wherein the antenna configuration for packet data reception isdifferent than the antenna configuration for packet data transmissionbut otherwise corresponds to a known antenna configuration associatedwith optimizing receipt of packet data from the particular stationaddress.
 17. A method for selecting an antenna configurationcorresponding to a next transmission of packet data, comprising:receiving a series of data packets, each of the series comprising atleast two data packets; transmitting at least one acknowledgment packetfollowing receipt of at least one of the series of data packets;counting the number of transmitted packets that occur between thereceived series of data packets; and determining when a subsequentseries of data packets is expected from a transmitting antenna at areceiving antenna based on the number of transmitted packets, whereinthe antenna configuration for the receiving antenna corresponds tooptimizing receipt of data packets from the transmitting antennaexpected to transmit the subsequent series of data packets.
 18. A methodfor selecting an antenna configuration corresponding to a nexttransmission of packet data, comprising: calculating a first cyclicredundancy check for a serial transmission of packet data prior totransmission of the packet data, the cyclic redundancy checkcorresponding to at least a portion of the packet data to betransmitted; transmitting the packet data and the first cyclicredundancy check corresponding to the at least a portion of the packetdata transmitted to a receiving station; calculating a second cyclicredundancy check for the received packet data following acknowledgementof receipt of the transmitted packet data by the receiving station;determining whether a transmission error has occurred based on at leastwhether the first cyclic redundancy check matches the second cyclicredundancy check; if a transmission error has occurred and as identifiedby the failure of the first cyclic redundancy check to matches thesecond cyclic redundancy check, identifying the media access controladdress of the received packet data; selecting an antenna configurationbased on the media access control address of the received packet data,the antenna configuration corresponding to a known antenna configurationassociated with optimized receipt of packet data from the particularstation address; and receiving a re-transmission of packet data usingthe selected antenna configuration, the re-transmission of packet datacomprising at least one packet not received during the transmission ofthe packet data and first cyclic redundancy check.
 19. A method forselecting an antenna configuration corresponding to a next transmissionof packet data, comprising: tracking a packet inter-arrival time for atleast one flow of data, the at least one flow of data being temporallyperiodic; compiling a schedule of expected arrival times for the atleast one flow of temporally periodic data, the schedule based on atleast a prediction of subsequent arrival time of the tracked flow ofdata; and selecting an antenna configuration corresponding to the atleast one flow of data prior to the expected arrival time of the atleast one flow of temporally periodic data, the antenna configurationcorresponding to a known antenna configuration associated withoptimizing receipt of packet data from the particular station address.20. A system for selecting an antenna configuration corresponding to anext transmission of packet data, comprising: a processor configured toexecute at least one scheduling program, the scheduling programassociated with a determination an antenna configuration for thereception of packet data; an antenna apparatus having a plurality ofantenna configurations; an antenna element selector device configured toimplement at least one of the plurality of antenna configurations in theantenna apparatus as determined by the scheduling program, theconfiguration corresponding to the optimization of reception of the nexttransmission of packet data from a particular station
 21. The system ofclaim 20, wherein the master scheduling program comprises a packetpattern recognition program that determines when a subsequent sequenceof data packets is expected from a transmitting antenna at a receivingantenna based on a number of transmitted packets.
 22. The system ofclaim 20, wherein the master scheduling program comprises a cyclicredundancy check program that selects an antenna configuration based onthe media access control address of the transmission data, the antennaconfiguration corresponding to a known antenna configuration associatedwith re-transmission of packet data.
 23. The system of claim 20, whereinthe master scheduling program comprises a temporal prediction programthat selects an antenna configuration corresponding to a schedulereflecting an expected arrival time of at least one flow of temporallyperiodic data.
 24. The system of claim 20, wherein the master schedulingprogram comprises a last transmission program that selects an antennaconfiguration for packet data reception from a particular stationaddress, the configuration corresponding to an antenna configurationpreviously used to transmit data to the particular station address. 25.The system of claim 20, wherein the master scheduling program comprisesa last transmission program that selects an antenna configuration forpacket data reception from a particular station address, theconfiguration corresponding to an antenna configuration different than aconfiguration previously used to transmit data to the particular stationaddress but otherwise known to optimize receipt of packet data from theparticular station address.